上一篇介紹了Beat the Spread!,是一題算出平均值的題目,算是基本的一題。
今天講解的題目是 Cubes
先附上程式碼
import java.util.;
import static java.lang.System.;
public class main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n;
while(sc.hasNextInt() && (n=sc.nextInt())!=0){
int q=1,w=1;
while(pow(q)<n){
q++;
}
while(true){
if(pow(q)- pow(q-1)>n){
System.out.println("No solution");
break;
}
if(pow(q)-pow(w)==n){
System.out.println(q+" "+w);
break;
}else{
if(q==(w-1)){
q++;
w=1;
}else{
w++;
}
}
}
}
}
public static int pow(int n){
return nnn;
}
};
題目要求我們輸入一個數字N,N=X^3-Y^3,並求出X跟Y,
輸入時一樣是輸入0是結尾,輸出則是如果有X跟Y則輸出X跟Y,否則則是輸出No solution,
要解這題,首先要先從X跟Y開始找,因為X的3次方一定比N大,所以先設while開始跑,等X的三次方大於N結束,
之後再使X的三次方減Y的三次方,然後Y慢慢+1加上去,如果X的三次方減掉(X-1)的三次方也大於N的話,就代表這題是無解的,輸出No solution,
所以要先判斷X三次方減掉(X-1)的三次方是不是大於N,再判斷X的三次方減Y的三次方是不是等於N,不是的話再讓Y加上去,如果Y大於X就代表X不夠大,讓X+1並使Y從1開始從新判斷。
今天就講解到這邊。
明天也是新的題目,會介紹Bangla Numbers,繼續加油!